package com.lzx.shop.utils;

import com.lzx.shop.model.Result;
import com.lzx.shop.model.ResultEnum;

/**
 * @author 刘正星
 * @version 1.0.0
 * @ClassName ResultUtil.java
 * @Description TODO
 * @createTime 2021年03月18日 00:16:00
 */
public class ResultUtil {

    /**
     * @param @param  object
     * @param @return 设定文件
     * @return Result 返回类型
     * @Title: success
     * @Description: 成功有返回
     */
    public static Result success(Object object) {
        Result result = new Result(true, ResultEnum.SUCCESS.getCode(), ResultEnum.SUCCESS.getMessage());
        result.setData(object);
        return result;
    }

    /**
     * @param @return 设定文件
     * @return Result 返回类型
     * @Title: success
     * @Description: 成功无返回
     */
    public static Result success() {
        return ResultUtil.success(null);
    }

    /**
     * @param @param  object
     * @param @return 设定文件
     * @return Result 返回类型
     * @Title: success
     * @Description: 参数不合法返回
     */
    public static Result paramError(Object object) {
        Result result = new Result(false, ResultEnum.PARAM_ERROR.getCode(), ResultEnum.PARAM_ERROR.getMessage());
        result.setData(object);
        return result;
    }

    /**
     * @return Result 返回类型
     * @Title: paramError
     * @Description: 参数不合法返回
     */
    public static Result paramError() {
        return new Result(false, ResultEnum.PARAM_ERROR.getCode(), ResultEnum.PARAM_ERROR.getMessage());
    }

    /**
     * 返回自定义状态码及msg
     *
     * @param code
     * @param msg
     * @return
     */
    public static Result customResultParam(boolean isSuccess, String code, String msg, Object object) {
        Result result = new Result(isSuccess, code, msg);
        result.setData(object);
        return result;
    }

    /**
     * @return Result 返回类型
     * @Title: paramError
     * @Description: 数据库错误
     */
    public static Result dataBaseError() {
        return new Result(false, ResultEnum.DATABASE_ERROR.getCode(), ResultEnum.DATABASE_ERROR.getMessage());
    }

    /**
     * @param @param  code
     * @param @param  msg
     * @param @return 设定文件
     * @return Result 返回类型, 错误返回时状态码为 9999
     * @Title: error
     * @Description: 失败方法返回
     */
    public static Result error(String code, String msg) {
        Result result = new Result(false, code, msg);
        return result;
    }
}
